<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // const target = {
  //   name:"admin",
  //   age:18
  // }

  // const obj = {};

  // Object.defineProperties( obj, {
  //   name: {
  //     get(){
  //       return target.name
  //     },
  //     set(val){
  //       target.name = val
  //     }
  //   },
  //   age:{
  //     get(){
  //       return target.age;
  //     },
  //     set(val){
  //       target.age = val;
  //     }
  //   }
  // } );

  // console.log( obj );


  // ========


  const target = {
    name:"admin",
    age:18
  }

  const obj = {};

  // 生成配置项
  const ops = {}
  for(let i in target){
    ops[i] = {
      get(){
        console.log(`obj的${i}被访问了`)
        return target[i]
      },
      set(val){
        console.log(`obj的${i}被修改成了`, val)
        target[i] = val
      }
    }
  }

  // 添加访问器和控制器
  Object.defineProperties(obj, ops);

  console.log( obj );
  
</script>
</html>